package org.example.erat.service;

import org.example.erat.dto.CourseDTO;

import java.util.List;

/**
 * 课程服务接口
 */
public interface CourseService {

    /**
     * 创建课程
     * @param courseDTO 课程DTO
     * @return 创建后的课程DTO
     */
    CourseDTO createCourse(CourseDTO courseDTO);

    /**
     * 更新课程
     * @param id 课程ID
     * @param courseDTO 课程DTO
     * @return 更新后的课程DTO
     */
    CourseDTO updateCourse(Long id, CourseDTO courseDTO);

    /**
     * 删除课程
     * @param id 课程ID
     */
    void deleteCourse(Long id);

    /**
     * 获取课程
     * @param id 课程ID
     * @return 课程DTO
     */
    CourseDTO getCourse(Long id);

    /**
     * 获取所有课程
     * @return 课程DTO列表
     */
    List<CourseDTO> getAllCourses();
}
